package br.com.unioConci.util.negocio;

import java.util.HashMap;
import java.util.Map;

import org.hibernate.Criteria;
import org.hibernate.Session;

import br.com.r2.util.hibernate.business.R2HbNgc;
import br.com.r2.util.hibernate.business.RestritorHb;
import br.com.unioConci.util.vo.DominioVo;

@SuppressWarnings("unchecked")
public class DominioNgc extends R2HbNgc<DominioVo>
{
   private Map filtroPropriedade = new HashMap();

   private Map restritores = new HashMap();

   private static DominioNgc instancia = null;

   private DominioNgc()
   {
      addFiltro("flagAtivo", RestritorHb.RESTRITOR_EQ, "flagAtivo");
      addFiltro("nomeCampo", RestritorHb.RESTRITOR_EQ, "nomeCampo");
   }

   public static DominioNgc getInstancia()
   {
      if (instancia == null)
      {
         instancia = new DominioNgc();
      }
      return instancia;
   }

   @Override
   protected Map filtroPropriedade()
   {
      return filtroPropriedade;
   }

   @Override
   protected Criteria montaCriteria(Session sessao, int join)
   {
      Criteria criteria = sessao.createCriteria(DominioVo.class);
      return criteria;
   }

   @Override
   protected Map restritores()
   {
      return restritores;
   }

}
